namespace OasisCiq.Xal
{
    using System.Collections.Generic;
    using System.Collections.Specialized;
    using CommonTypes;
    using External;
    using XS;

    /// <summary>
    /// The next level down division of the area. E.g. state / county, province / reservation.
    /// Note that not all countries have a subadministrative area
    /// </summary>
    public class SubAdministrativeArea : IDataQualityGroup, IExtendedAttributes
    {
        /// <summary>
        /// at least one element required
        /// </summary>
        public ICollection<SubAdministrativeAreaNameElement> NameElements { get; set; }

        /// <summary>
        /// Type of sub administrative area
        /// </summary>
        public SubAdministrativeAreaTypeList Type { get; set; }

        public DataQualityTypeList DataQualityType { get; set; }

        public XSDateTime ValidFrom { get; set; }

        public XSDateTime ValidTo { get; set; }

        public NameValueCollection ExtendedAttributes { get; set; }
    }
}